def printNote(msg):
    print('\n', '-' * 70)
    print(msg)
    print('-' * 70, '\n')


printNote('1. import 语句也是顺序执行的')

import a
print(dir(a))
import b
print(dir(b))

import cool
print('-'*20,dir(cool))

printNote('2. 根据sys.path文件夹列表来搜索模块')

import sys
print(sys.path)

printNote('3. 第一个文件夹为 E:\\pythonLearn\\phrase , 所以 import a 查找a模块时，在当前文件夹找到')

printNote('4. 命令行窗口，输入python, 进入python解析器，导入sys 输出sys.path列表，返回的第一个元素"\'\'"，其实指的不是当前文件夹(os.getcwd())，而是入口模块所在文件夹, 参见行注释2')

import os
printNote('5. 当前代码文件为主模块时，若想导入上级目录的模块，可以把上级目录加入到查找文件夹列表中(sys.path)')
printNote('6. 如 import sound, 默认会在 E:\\pythonLearn\\phrase 文件夹下查找(因为它在sys.path列表中)，结果是 找不到')
printNote('7. __file__ 变量存储了当前代码文件的路径')
print(__file__, '<---- __file__')
printNote('8. 获取当前文件的父文件夹路径：os.pash.abspath(os.path.join(__file__, \'..\\..\'))')
parentDir = os.path.abspath(os.path.join(__file__, r'..\..\wordTest'))
print(parentDir)

printNote('9. 把父文件夹路径加入查找路径列表 sys.path, 再次执行 import sound 应该可以找到模块了 :)')
sys.path.append(parentDir)
print('9.1 增加路径到sys.path后:', sys.path)

import sound
print('sound---------->', sound)

print('__name__ --------->', __name__)

printNote('10. 包查找路径是sys.path变量中。sys.path初始状态一般由三部分组成：python正在执行的脚本的目录，PYTHONPATH路径，包的默认安装路径。')

print('修改PYTHONPATH环境变量的方法: https://www.cnblogs.com/lifeofershisui/p/8135702.html')